package com.wxsong.authplatform.authweb.test;

import java.util.Arrays;

public class Paixu {

    public static void maopao(){
        int[] a = {11,2,13,6,5,3};
//        int[] a = {2, 3, 6, 5, 11, 13};
        System.out.println("原始数组："+Arrays.toString(a));
        for(int i=1; i<a.length; i++) {
            boolean f = true;
            for (int j = 0; j < a.length - 1; j++) {
                if (a[j] > a[j + 1]) {
                    int t = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = t;
                    f = false;
                }
            }
            if (f) {
                System.out.println("排序完成");
                break;
            }
            System.out.println(i + "轮排序后得结果：" + Arrays.toString(a));
        }
    }

    //第一轮时，用变量min表示当前的数组位置，内层循环开始，查找最小的值，如果找到，则替换变量min。这样经过一轮的查找后，找到了最小的一个值，把这个值替换到外层的轮数控制的位置
    public static void xuanze(){
        int[] a = {4,2,8,9,5,7,6,1,3};
        System.out.println("原始数组："+Arrays.toString(a));
        for (int i=0; i<a.length-1; i++){
            int min = i;
            for (int j=i+1; j<a.length; j++){
                if(a[j] < a[min]){ //
                    min = j; //min始终是最小数
                }
            }
            //找到最小值和i的位置进行交换
            if(i != min){
                int tmp = a[i];
                a[i] = a[min];
                a[min] = tmp;
            }
            System.out.println("第" + (i+1) + "轮排序后的结果为：" + Arrays.toString(a));
        }
    }

    public static void main(String[] args) {
//        maopao();
        xuanze();

    }
}
